翻訳と辞書
Words near each other
・ マジックソード
・ マジックタイム
・ マジックチャンネル
・ マジックツリーハウス
・ マジックテープ
・ マジックディスク
・ マジックナイト
・ マジックナイトレイアース
・ マジックナンバー
・ マジックナンバー (フォーマット識別子)
マジックナンバー (プログラム)
・ マジックナンバー (メッセージ)
・ マジックナンバー (坂本真綾の曲)
・ マジックナンバー (曖昧さ回避)
・ マジックナンバー (漫画)
・ マジックナンバー (野球)
・ マジックハンド
・ マジックバス
・ マジックバー1
・ マジックパワー


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

マジックナンバー (プログラム) : ミニ英和和英辞書
マジックナンバー (プログラム)[らむ]
=====================================
〔語彙分解〕的な部分一致の検索結果は以下の通りです。

: [ちょうおん]
 (n) long vowel mark (usually only used in katakana)
ラム : [らむ]
 【名詞】 1. (1) lamb 2. (2) rump 3. (3) rum 4. (4) RAM (random access memory) 5. (P), (n) (1) lamb/(2) rump/(3) rum/(4) RAM (random access memory)

マジックナンバー (プログラム) : ウィキペディア日本語版
マジックナンバー (プログラム)[らむ]
プログラムにおけるマジックナンバー(魔法数字)とは、何らかの識別子として用いられるプログラム中に書かれた具体的な数値である。そのプログラムを書いた時点では製作者は数値の意図を把握しているが、他のプログラマーまたは製作者本人がマジックナンバーの意図を忘れたとき閲覧すると「この数字の意味はわからないが、とにかくプログラムは正しく動く。まるで魔法の数字だ」という皮肉を含む。
== 概要 ==
次のような理由で、マジックナンバーはプログラム中に含まれないことが好ましいとされる。
* その数値の持つ意味がわかりづらい。
* 数値を変更する場合に、複数の箇所を変更しなければならない可能性がある。
たとえば、消費税が5%の時に以下のようなコードを書いたとする。

zeikomi = 1.05
* nedan

これは、nedanに商品の本体価格を入力することでzeikomiに消費税込みの価格が得られる、という計算式である。しかし消費税の税率は変化し得るため、税率が5%以外に変更されたとき修正が必要となる。このとき「1.05」はマジックナンバーであり「なぜ1.05なのか」という意図が不明瞭である。
マジックナンバーを除くと、

ZEIRITU = 0.05
zeikomi = (1.0 + ZEIRITU)
* nedan

となり、式に意図が示されるため修正が容易になる。
printfColor関数は第一引数の文字列を第二引数でRGBフルカラーで指定した色で表現する関数であるとする。この関数は標準ライブラリに存在しない架空の関数である。

printfColor("color text", 0xffffff)

この場合、color textという文字列が「白色」で表示される。ただし0xffffffは直感的に「白色」と伝えることは困難なマジックナンバーである。
マジックナンバーを取り除く手法の一つとして、以下のような書き方がある。

white = 0xffffff
printfColor("color text", white)

これらマジックナンバーを避けるため、マジックナンバーが書いてある箇所を定数列挙型に置き換えるといった処置がとられる。定数は意味のわかりやすいような名前を付けるため、一読して数値の意味を理解できるからである。ここで、定数の初期化の際に書かれる数値までマジックナンバーとは呼ばない。
また、10はそれ自体が「真」・「偽」などの意味(真理値)を示しうる数値であり、マジックナンバーとは呼ばないこともある。
また、マジックナンバーは、データ構造体の中にある本質的な意味を持たない数値を指すことがある。これはデータ構造体を識別し、間違った型として扱われる事を防ぐために使われる。これについてはフォーマット識別子としてのマジックナンバーを参照。


抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「マジックナンバー (プログラム)」の詳細全文を読む




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.